<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--

JS 主要包含3部分

1. 基础语法
2. DOM
3. BOM
-->

<!--

程序：解决问题的过程

编程：编写程序。
-->

<!--

编程语言语法三大部分：

1. 变量
2. 运算符
3. 流程控制

-->



<!--早晨醒来，看看表，6点了，太早了，还可以继续睡-->

<!--早晨醒来，看看表，过了7点了，时间不早了，可以起床了-->

<!--穿衣服-->
<!--上个厕所-->
<!--洗洗脸-->
<!--刷刷牙-->
<!--吃个早餐-->
<!--看看表，过了8点了，可以去教室了-->
    <!--路上遇到点事，耗了一段时间-->
    <!--路上什么事都没遇到，直接去教室-->
<!--到班时间，老师看看表，你迟到了，做20个俯卧撑-->

<!--没吃到的话，正常上课-->



<!--早晨醒来，看看表。-->
<!--如果此时的时间大于7点，就要起床了-->
    <!--穿衣服-->
    <!--上个厕所-->
    <!--洗洗脸-->
    <!--刷刷牙-->
    <!--吃个早餐-->
    <!--看看表， 如果时间大于8点，可以去教室了-->
        <!--如果去教室的路上遇到点事-->
            <!--处理事情-->
            <!--到班里的事件 如果大于8.5点-->
                <!--迟到做俯卧撑-->
            <!--其它情况下-->
                <!--正常上课-->
        <!--其它情况（没有遇到事）-->
    <!--其它情况 可以继续干其他事-->
<!--否则继续睡觉-->


<!--

在程序执行过程中，其值可以发生变化的量，我们称之为变量。

变量的声明要用 var 。

变量的命名规则：

1. 可以是大小写字母、数字、下划线、$的组合（数字不能开头）
2. 变量名字不能和关键字（保留字）重复
3. 变量命名最好见名知意，最好使用英文单词组合，切勿拼音和英文单词混合
4. 使用统一的命名法。比如：小驼峰、大驼峰、下划线等

-->

<!--

运算符：

算术运算符：+ - * / %
比较运算符：> >= < <= != == ===、!==
逻辑运算符：&&(and操作、并且的意思)、||（or操作，或者的意思）、!（真假取反操作）
赋值运算符：=(赋值操作、将该符号右侧的值给左侧的变量)、+= (a += b 等同于 a = a + b)、-=、*= 、/=、 %=
三元（目）运算符： ?: ； 1 > 2 ? 100 : 99 如果?前面的表达式的结果为真，则整个表达式的结果为?后面的值，否则为:后面的值
自增自减：++、--
字符串拼接运算符： +
优先级操作符：()
-->

<!--


在程序世界，逻辑上只有真和假

常见的假：0、null、undefined、''

-->


<!--

流程控制：

顺序，选择（分支）、循环


选择：程序根据某个条件，选择执行不同的代码


循环：重复的去执行某一段代码




-->

<script>

    //表达式：有值或者变量与运算符一起组合成的有结果的代码片段

    var a = 1;
    var b = 1;

    // 逻辑运算符 有一个短路操作
    // && 连接的多个子表达式，运算过程中，遇到一个结果为假的子表达式，则已经能证明整个大表达式结果为假了，所以后面的各个子表达式不用在执行了
    // console.log(1 > 2 && a++);
    // console.log(a)

    // || 连接的多个子表达式，运算过程中，遇到一个结果为真的子表达式，则后面的子表达式不再执行
    console.log(1 < 2 || a++);
    // console.log(a)


    // 运算符是有优先级和结合性的
    console.log(1 + (5 * 5))


    // 自增运算符如果在前，变量先自增1，然后返回整个表达式的值
    // 自增运算符如果在后，先返回真个表达式的值，然后变量自增1
    // 整个表达式的值，就是返回值得时候的变量的值

    //自增和自减的运算规则和时机是一样的，只不过将加1变成了减1。

    // console.log(a--);
    // console.log(--b);
    //
    // console.log(a);
    // console.log(b);


    // console.log(a + b);
    // console.log( '您好' + '我很好');
    // console.log( '您好' + 1);
    // console.log('1' + '2');
    // console.log('1' + 2);


    //
    //
    // console.log( a > b ? 100 : 99);
    //
    // if(a > b){
    //     console.log(100)
    // }else{
    //     console.log(99)
    // }
    
    
    
    // if ( 1 > 3){
    //     console.log('您在逗我吗？')
    // }else{
    //     console.log('你好帅')
    // }
    //
    // console.log('你真会说实话')

    var c = 65;
    // if(c > 90){
    //     console.log('你好优秀')
    // }else{
    //
    //     if(c > 70 ){
    //         console.log('表现良好')
    //     }else{
    //
    //         if( c > 60 ){
    //             console.log('一般')
    //         }else{
    //             console.log('战五渣')
    //         }
    //     }
    // }


    // if (c > 90){
    //     console.log('你好优秀')
    // }else if (c > 70) {
    //     console.log('表现良好')
    // }else if (c > 60){
    //     console.log('一般')
    // }else{
    //     console.log('战五渣')
    // }


    // js 中的switch 分支控制，不是很常用
    // var a = 20;
    // switch (a){
    //
    //     case 90:
    //         console.log('你好优秀');break;
    //     case 70:
    //         console.log('表现良好');break;
    //     case 60:
    //         console.log('一般');break;
    //     default:
    //         console.log('战五渣');break;
    // }

    var a = 1;

    // 当while后面的条件满足时，会重复的执行循环体里面的代码

    while(a < 10){
        if(a == 5){
            a++;
            // 跳出本次循环，继续下次循环
            // continue;
            // 跳出循环
            break;
        }
        console.log(a);
        a++;
    }
        

    console.log('===========================');

    // a = 10;
    // do {
    //     console.log(a);
    //     a++;
    // }while (a < 10)
    
    
    // for (var a = 1; a < 10; a++) {
    //     console.log(a)
    // }

    // for (var a = 1; a > -10; a--) {
    //     console.log(a)
    // }






</script>

<script>
    //此时的事件
    // var currentTime = 7.1;
    // if (currentTime > 7){
    //     alert('起床');
    //     alert('上个厕所');
    //     alert('洗洗脸');
    //     alert('刷刷牙');
    //     alert('吃个早餐');
    //     //干上面的事情用的事件
    //     var useTime = 1;
    //     //此时的时间
    //     currentTime = currentTime + useTime;
    //
    //     if (currentTime > 8){
    //         alert('去教室');
    //         //是否遇到事
    //         var thing = false;
    //         // 遇到事，处理耗时，默认是0小时
    //         var thingUseTime = 0;
    //         if(thing){
    //             alert('处理点事');
    //             //处理事情耗时
    //             thingUseTime = 1;
    //         }
    //         //此时的事件
    //         currentTime = currentTime + thingUseTime;
    //
    //         if(currentTime > 8.5){
    //             alert('迟到做俯卧撑')
    //         }
    //         alert('上课')
    //     }else{
    //         alert('可以继续干其他事');
    //     }
    // }else{
    //     alert('继续睡觉')
    // }
    //
    // alert(1111);

</script>










<!--

求出 0-100 之间所有整数的和

求出 0 - 10000 之间的所有的偶数和

打印出 0 - 200 之间的所有值，如果值为 3的倍数，则用A替换之。

-->






</body>
</html>